package com.engine4cloud.tdf.admin.api.dto;

import com.engine4cloud.tdf.common.core.constant.enums.FileBucketNameEnum;
import com.engine4cloud.tdf.common.core.constant.enums.FileDirEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;

/**
 * 文件上传-文件请求
 *
 * @author wenjie
 * @date 2024/03/11
 */
@Data
@Schema(description = "文件上传-请求对象")
public class SysFileUploadRequestDTO implements Serializable {


	@Schema(description = "桶名字: SYS-系统;SUPERVISION-监督管理;LOCATION-定位;PSYCHOLOGY-心理;TERMINAL-终端管理;EDUCATION-教育帮扶", example = "SUPERVISION")
	@NotNull(message = "桶名字不能为空")
	private FileBucketNameEnum bucketName;

	/**
	 * 文件夹
	 */
	@Schema(description = "文件夹：SUPERVISION_CORRECTOR_PHOTOGRAPH-监督管理矫正对象照片;" +
			"SUPERVISION_CORRECTOR_FACIAL_DIAGNOSIS-监督管理矫正对象人脸特征;" +
			"SUPERVISION_CORRECTOR_FINGERPRINT-监督管理矫正对象指纹特征;" +
			"SUPERVISION_CORRECTOR_VOCAL_PRINT-监督管理矫正对象声纹特征;" +
			"SUPERVISION_CORRECTOR_LEGAL_INSTRUMENT-监督管理矫正对象法律文书;" +
			"SUPERVISION_CORRECTOR_LEGAL_INSTRUMENT_TEMPLATE-监督管理矫正对象法律文书模版;" +
			"SUPERVISION_CORRECTOR_ACTIVE_FILE-监督管理矫正对象日常活动文件;" +
			"SUPERVISION_EDUCATION_MATERIAL-监督管理教育学习资料;" +
			"SUPERVISION_FUNCTIONARY_PHOTOGRAPH-监督管理工作人员照片;" +
			"EDUCATION_RESOURCE-教育学习-资源;" +
			"EDUCATION_PSYCHOLOGICAL_GUIDANCE-教育帮扶-心理辅导;" +
			"EDUCATION_PUBLIC_ACTIVITIES-教育帮扶-公益活动;" +
			"EDUCATION_ADAPTABILITY_ASSIST-教育帮扶-适应性帮扶;" +
			"SYS_USER_PHOTOGRAPH-系统管理用户照片", example = "SUPERVISION_CORRECTOR_LEGAL_INSTRUMENT")
	@NotNull(message = "文件夹不能为空")
	private FileDirEnum dir;

	/**
	 * 文件组
	 */
	@Schema(description = "文件组")
	private Long groupId;

	/**
	 * 文件类型
	 */
	@Schema(description = "文件类型")
	private String type;

	@Schema(description = "子目录，拼接与dir后面")
	private String childDir;

	@Schema(description = "上传是否修重新民命文件，默认true")
	private boolean isRename = true;

}
